import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

// 路由懒加载
const LoginView = () => import('../views/login.vue')
// 暂时注释掉，因为我们只复刻了登录功能
// const RegisterView = () => import('../views/RegisterView.vue')
// const UserInfoView = () => import('../views/UserInfoView.vue')

// 路由白名单，不需要登录就能访问的页面
// 白名单路由列表，未来可能会使用

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: HomeView,
      meta: {
        requiresAuth: true // 需要登录才能访问
      }
    },
    {
      path: '/login',
      name: 'login',
      component: LoginView,
      meta: {
        requiresAuth: false // 不需要登录
      }
    }
    // 暂时注释掉，因为我们只复刻了登录功能
    /*,
    {
      path: '/register',
      name: 'register',
      component: RegisterView,
      meta: {
        requiresAuth: false // 不需要登录
      }
    },
    {
      path: '/user/info',
      name: 'userInfo',
      component: UserInfoView,
      meta: {
        requiresAuth: true // 需要登录才能访问
      }
    }*/
  ]
})

// 路由守卫，自动检测登录状态
router.beforeEach((to, _from, next) => {
  const token = localStorage.getItem('Admin-Token')
  
  // 需要登录的页面
  if (to.meta.requiresAuth) {
    if (token) {
      next() // 已登录，正常访问
    } else {
      // 未登录，重定向到登录页，并带上当前页面的路径作为参数
      next({ path: '/login', query: { redirect: to.fullPath } })
    }
  } else {
    // 不需要登录的页面
    next()
  }
})

export default router
